<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <link rel="stylesheet" href="../tools/bootstrap-3.3.7-dist/css/bootstrap.min.css">
    <link rel="stylesheet" href="../css/base.css">
    <link rel="stylesheet" href="../css/login.css">
    <style>
        h1 {
            text-align: center;
        }
        
        .jumbotron {
            background-image: url(../message/123.jpg);
            color: aliceblue;
        }
        
        .inputWidth {
            width: 200px;
            display: inline-block;
        }
        
        .spanspan {
            color: red;
            font-size: 20px;
        }
        
        .cover {
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, .5);
        }
    </style>
</head>

<body>

    <div class="jumbotron">
        <h1>欢迎注册 </h1>
        <div class="login">
            <div class="form-horizontal">
                <div class="form-group">
                    <label for="username" class="col-sm-2 control-label">用户名</label>
                    <div class="col-sm-10">
                        <input name="userName" type="text" class="form-control inputWidth" placeholder="用户名">
                        <span name="nameSpan" class="spanspan"></span>
                    </div>
                </div>
                <div class="form-group">
                    <label for="password" class="col-sm-2 control-label">密码</label>
                    <div class="col-sm-10">
                        <input name="pwd1" type="password" class="form-control inputWidth" placeholder="密码">
                        <span class="spanspan"></span>
                    </div>
                </div>

                <div class="form-group">
                    <label for="password" class="col-sm-2 control-label">确认密码</label>
                    <div class="col-sm-10">
                        <input name="pwd2" type="password" class="form-control inputWidth" placeholder="确认密码">
                        <span name="pwdSpan" class="spanspan"></span>

                    </div>
                </div>

                <div class="form-group">
                    <label for="password" class="col-sm-2 control-label">验证码</label>
                    <div class="col-sm-10">
                        <input name="vc" type="text" class="form-control inputWidth" id="ac" placeholder="验证码">
                        <a id="sc"></a><br>
                        <span name="vcSpan" class="spanspan"></span>
                    </div>
                </div>

                <div class="form-group">
                    <div class="col-sm-offset-2 col-sm-10">
                        <button class="btn btn-default">注册</button>
                    </div>
                </div>

                <div name="box"></div>
            </div>
        </div>
    </div>

    <script src="../js/jquery.min.js"></script>
    <script src="../js/tools.js"></script>

    <script>
        // 1, 通过 tools.js 外部文件中的函数方法 生成 随机验证码
        $('#sc').html(setVc()).click(function() {
            $('#sc').html(setVc())
        });

        // 2, 账号input失去焦点事件
        $('[name="userName"]').blur(function() {
            // 获取 账号
            let userName = $(this).val();

            // 通过 promise 完成 ajax请求
            const p = new Promise(function(f, r) {
                // 发送ajax请求
                $.ajax({
                    url: '../server/goods_select.php',
                    type: 'post',
                    data: {
                        userName
                    },
                    dataType: 'json',
                    success: f,
                    error: r,
                })
            })

            p.then(res => {
                // console.log(res);
                // 根据结果动态渲染生成页面
                if (res.result === 1) {
                    // 用户名可用
                    $('[name="nameSpan"]').html('<span style="color:blue">恭喜您,用户名可以使用</span>')
                } else if (res.result === 0) {
                    // 用户名不可用
                    $('[name="nameSpan"]').html('<span style="color:red">您的用户名重复,不可以使用</span>')

                }

            })
        })

        // 3, 注册button 添加点击事件
        $('button').click(function() {
            // 3-1 先获取数据

            // input标签输入的数据
            let name = $('[name="userName"]').val();
            let pwd1 = $('[name="pwd1"]').val();
            let pwd2 = $('[name="pwd2"]').val();
            let vc = $('[name="vc"]').val();
            // 验证码span标签的内容
            let vcStr = $('#sc').html();

            // 3-2 验证判断

            // 如果 密码不一致 终止之后程序的执行
            if (pwd1 !== pwd2) {
                // 给 标签中输入提示信息
                $('[name="pwdSpan"]').html('<span style="color:red">两次密码不一致</span>');
                // 终止之后程序的执行
                return;
            } else {
                // 密码一致 错误提示信息清除
                $('[name="pwdSpan"]').html('');
            }



            if (vc.toUpperCase() !== vcStr.toUpperCase()) { // 都统一为大写字母
                // 验证码错误,写入提示信息
                $('[name="vcSpan"]').html('<span style="color:red">验证码错误</span>');
                // 同时 更新验证码
                $('#sc').html(setVc());
                return;
            } else {
                // 验证码正确,清除错误信息
                $('[name="vcSpan"]').html('<span style="color:blue">验证码正确</span>');

            }



            // 3-3 通过 promise 发送请求
            const p = new Promise(function(f, r) {
                $.ajax({
                    url: '../server/goods_reg.php',
                    type: 'post',
                    data: {
                        userName: name,
                        userPwd: pwd1
                    },
                    dataType: 'json',
                    success: f,
                    error: r,
                })
            })

            p.then(function(res) {

                // 有一个超链接 点击去 首页面 5秒以后 跳转 登录页面
                $('[name="box"]').html('<span> 恭喜您,注册成功,5秒以后跳转登录页面  <a href="./index.html">点击跳转首页面</a> </span>');

                // 5秒 倒计时 
                let num = 5;
                let time = setInterval(() => {
                    // 变量--
                    num--;

                    // 判断 如果变量是 0 直接跳转 不再输出内容
                    if (num === 0) {
                        // 跳转登录页面
                        window.location.href = './login.html';
                        return;
                    }

                    $('[name="box"]').html(`<span> 恭喜您,注册成功,${num}秒以后跳转登录页面  <a href="./index.html">点击跳转首页面</a> </span>`)
                }, 1000);
            })

            // 点击一次 刷新一次验证码
            $('#sc').html(setVc())
        })
    </script>

</body>

</html>